package com.yc.cloud.openai.portal.dto.request;

import com.yc.cloud.openai.portal.enums.TextToVideoProvider;

import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
import lombok.Data;

@Data
@Schema
public class TextToVideoRequest {

    @Schema(description = "客户端ID", example = "37dfd6f6b0784d6d8f9526d94e8cc4dc")
    private String clientId;

    @Schema(description = "提示词,目前只支持英文", example = "a dog", required = true)
    @NotEmpty(message = "提示词不能为空")
    private String prompt;

    @Schema(description = "提供者", example = "1", defaultValue = "1", hidden = true, allowableValues = {"1", "2"})
    @NotNull(message = "提供者不能为空")
    private TextToVideoProvider provider = TextToVideoProvider.COMFY_UI;

    @Schema(description = "视频宽度", defaultValue = "512", example = "512")
    private Integer width = 512;

    @Schema(description = "视频高度", defaultValue = "512", example = "512")
    private Integer height = 512;

    @Schema(description = "视频时长", defaultValue = "5", example = "5")
    private Integer duration = 5;


}
